#pragma once

#include <string>

namespace rti1516
{
	class FederateAmbassador {};

	class PDAfederateAmbassador : public FederateAmbassador
	{
	public:
		PDAfederateAmbassador(void);
	public:
		virtual ~PDAfederateAmbassador(void);
		// 6.3
		virtual	void objectInstanceNameReservationSucceeded(std::wstring const & theObjectInstanceName);

		virtual	void objectInstanceNameReservationFailed(std::wstring const &theObjectInstanceName);
		// 6.5
		virtual void discoverObjectInstance (std::wstring const & theObjectInstanceName);
		// 6.7
		virtual	void reflectAttributeValues(std::wstring const & theObjectInstanceName);

		virtual	void receiveInteraction();
		// 6.11
		virtual	void removeObjectInstance();
	};
}
